﻿namespace dk.Helper.Base
{
    public interface IWorldMapFilter
    {
        /// <summary>
        /// Gets or sets the village points.
        /// </summary>
        /// <value>
        /// The village points.
        /// </value>
        Interval VillagePoints { get; set; }

        /// <summary>
        /// Gets or sets the player points.
        /// </summary>
        /// <value>
        /// The player points.
        /// </value>
        Interval PlayerPoints { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether abandonned villages should be shown or not.
        /// </summary>
        /// <value>
        /// 	<c>true</c> if abandonned villages should be shown; otherwise, <c>false</c>.
        /// </value>
        bool ShowAbandonedVillages { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether players without ally should be shown or not.
        /// </summary>
        /// <value>
        /// 	<c>true</c> if players without ally should be shown; otherwise, <c>false</c>.
        /// </value>
        bool ShowPlayersWithoutAlly { get; set; }

        /// <summary>
        /// Determines whether village is satisfying specified conditions or not.
        /// </summary>
        /// <param name="village">The village.</param>
        /// <returns>
        ///   <c>true</c> if conditions are met; otherwise, <c>false</c>.
        /// </returns>
        bool IsSatisfyingConditions(IVillage village);
    }
}